在邏輯運算子有三個判斷符號分別是:
&& And 全部都要符合
|| OR 其中一個符合
! NOT 轉型
邏輯運算我們可以想像一個生活情境今天要去銀行開戶,開戶的條件是準備1000元還有帶身分證,兩個都要符合才能開戶這個過程我們要怎麼判斷是否符合呢?直接來看程式碼:
//變數是我有帶1000但沒有帶身份證
var money = 1000;
var id = false;
console.log(money==1000 && id==true)
上面可以看到結果會是 false 因為條件是錢要帶、身份證也需要,但我沒帶身份證所以就不能開戶,大家可以自行試著把條件更改一下看看結果會是如何喔!
如果今天變成是說要開戶需要準備1000元還有身分證,但是其中一個有準備就能開戶呢,這時候就用 || 代表只要符合其中一個條件就OK,請看下面的程式碼我雖然沒有帶身份證但是有1000元所以就變成可以開戶囉!
var money = 1000;
var id = false;
console.log(money==1000 || id==true)
是不是很簡單呢,再來考考各位如果是以下情境,延續上一個開戶的例子,如果變成開戶要準備 1000元,證件變成帶身份證或健保卡都可以,那又該怎麼寫呢?
我們可以用括號像是這樣!
var money = 1000 ;
var id = false ;
var health_id = true;
console.log(money == 1000 && (id==true || health_id==true))
//把後面只要符合其中一項的資料括號起來
把後面只要符合其中一項的資料括號起來,這樣只要裡面有條件成立再跟外面的 money 去比對看是不是條件都符合,以這範例是符合的結果就是 true 也能開戶了!
剛剛前面提到的例子結果如果是 true 但我們希望它變成 false 呢,就是將後面的結果用!()包起來,以最一開始的例子來說,原本應該是 true 用!()輸出就變成 false 囉!
var money = 1000;
var id = false;
console.log(!(money==1000 || id==true));
其實!轉型的實際運用時機我也還不是很了解這邊就只能簡單介紹,如果有前輩可以分享實際情境歡迎留言告訴我,謝謝。
OK,今天的邏輯運算子就介紹到這邊,我們明天見!